1. Field of the Invention
The present invention generally relates to user interfaces. More specifically, the present invention is directed to the capturing of user interface switch states.
2. Related Art
The xforms:switch is a grouping construct that allows sets of user interface (UI) controls called “cases” to be grouped together. A user can toggle from one case to another to view and interact with the UI controls in each case.
XForms 1.0 Second Edition makes it clear that the selected attributes of the cases are used for initialization only and that the selected attributes are not expected to change value as a user switches to the various cases. When the cases represent panels of a wizard-like guided interview system, this is appropriate. However, the construct can also be used by form authors to switch between groups of UI controls that are only applicable to certain scenarios parameterized by user input. For example, the user may be given a choice between pay by invoicing, credit card, or electronic funds transfer. Based on choice, the user interface “switches” to the appropriate set of controls, such as those that allow specification of a corporate account for invoicing, or card number and expiry for credit card, and so forth. In this case, saving and reloading the form yields the undesirable result that the payment method selected by the UI switch state has been lost.
The loss of switch state is of particular importance in archival and security contexts. If the switch state cannot be preserved when it is appropriate, then the switch cannot be used in archival documents. Further, if the switch state cannot be preserved, then a digital signature over markup that includes a switch is insecure since the UI appearance changes in an important way without invalidating the signature over the markup.